package com.cybertooth.dbconvenience.query.core;


import com.cybertooth.dbconvenience.query.columns.ColumnWithAs;

import java.util.List;

/**
 * <p></p>
 *
 * @author dnelson
 */
public class Query {

	// -----------------------------------------------------------------------Fields

	protected List<ColumnWithAs> selectColumns;
	protected Table fromTable;
	protected List<Join> joinClauses;
	protected Where whereClause;
	protected GroupBy groupBy;
	protected OrderBy orderBy;

	// -------------------------------------------------------------------Properties

	public Table getFromTable() {
		return fromTable;
	}

	public void setFromTable(Table fromTable) {
		this.fromTable = fromTable;
	}

	public GroupBy getGroupBy() {
		return groupBy;
	}

	public void setGroupBy(GroupBy groupBy) {
		this.groupBy = groupBy;
	}

	public List<Join> getJoinClauses() {
		return joinClauses;
	}

	public void setJoinClauses(List<Join> joinClauses) {
		this.joinClauses = joinClauses;
	}

	public OrderBy getOrderBy() {
		return orderBy;
	}

	public void setOrderBy(OrderBy orderBy) {
		this.orderBy = orderBy;
	}

	public List<ColumnWithAs> getSelectColumns() {
		return selectColumns;
	}

	public void setSelectColumns(List<ColumnWithAs> selectColumns) {
		this.selectColumns = selectColumns;
	}

	public Where getWhereClause() {
		return whereClause;
	}

	public void setWhereClause(Where whereClause) {
		this.whereClause = whereClause;
	}

	// -----------------------------------------------------------------Constructors

	public Query() {
	}

	// ---------------------------------------------------------------Public Methods


}
